// FFI安全包装库主模块

// 导出所有子模块
pub mod core;
pub mod exokernel;
pub mod drivers;
pub mod callback;
pub mod utils;

// 重新导出常用的公共API，以便用户可以直接从根模块访问
pub use core::error::{FFIError, FFIResult};
pub use core::memory::SafeMemoryBuffer;
pub use core::types::{CapabilityId, PhysicalAddress, VirtualAddress, ResourceType, MemoryPermissions};

pub use exokernel::api;
pub use exokernel::capability::Capability;
pub use exokernel::capability::ThreadSafeCapability;
pub use exokernel::memory::{PhysicalMemoryBlock, MemoryMapping};
pub use exokernel::cpu::CpuManager;
pub use exokernel::io::IoPortManager;
pub use exokernel::interrupt::{InterruptManager, DriverInterruptManager};

pub use drivers::DriverManager;

pub use callback::{CallbackId, CallbackHandler, CallbackRegistry};

pub use utils::{StringUtils, NumberUtils};